Result: fail
| Detail | Value |
|---|---|
| Returncode | 1 |
| Time | 0:00:00.253026 |
| Stdout |
Output v.a[0] element 0: expected 100, got -858993460
Output v.a[0] element 1: expected 200, got -858993460
Vertex shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { ivec4[2] a; uint[4] b; vec3[3] c; };
in vec4 pos;
DECLARE_VARYING(out, S, v);
void main()
{
gl_Position = pos;
for (int i = 0; i < 4; i++) {
if (i < 2) VARYING(v).a[i] = ivec4(100, 200, 300, 400) + i;
if (i < 4) VARYING(v).b[i] = 500u + uint(i);
if (i < 3) VARYING(v).c[i] = vec3(600.0, 700.0, 800.0) + float(i);
}
}
Fragment shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { ivec4[2] a; uint[4] b; vec3[3] c; };
DECLARE_VARYING(in, S, v);
out vec4 color;
void main()
{
bool pass = true;
for (int i = 0; i < 3; i++) {
if (i < 2 && VARYING(v).a[i] != ivec4(100, 200, 300, 400) + i) pass = false;
if (i < 4 && VARYING(v).b[i] != 500u + uint(i)) pass = false;
if (i < 3 && VARYING(v).c[i] != vec3(600.0, 700.0, 800.0) + float(i)) pass = false;
}
if (pass)
color = vec4(0.0, 1.0, 0.0, 1.0);
else
color = vec4(1.0, 0.0, 0.0, 1.0);
}
|
| Stderr |
SWR detected AVX2 vert shader 0x7f8b260f6000 frag shader 0x7f8b260f4000 so shader 0x7f8b260f2000 fetch shader 0x7f8b260f0000 SWR destroy screen! |
| Environment |
PIGLIT_SOURCE_DIR="/home/ilia/src/piglit" PIGLIT_PLATFORM="mixed_glx_egl" |
| Command | /home/ilia/src/piglit/bin/ext_transform_feedback-structs struct-array-elem run-no-fs -auto -fbo |
| dmesg |